package org.locker.domain.vo;

import java.math.BigDecimal;
import org.locker.domain.PaySplit;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.locker.common.excel.annotation.ExcelDictFormat;
import org.locker.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 微信分账视图对象 lk_pay_split
 *
 * @author winnie
 * @date 2024-01-25
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PaySplit.class)
public class PaySplitVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long paySplitId;

    /**
     * 场地ID
     */
    @ExcelProperty(value = "场地ID")
    private Long positionId;

    /**
     * 场地名称
     */
    private String positionName;

    /**
     * 管理员ID
     */
    @ExcelProperty(value = "管理员ID")
    private Long managerId;

    /**
     * 场地管理员名称
     */
    private String managerName;

    /**
     * openId
     */
    @ExcelProperty(value = "openId")
    private String openid;

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号")
    private String orderNo;

    /**
     * 流水号
     */
    @ExcelProperty(value = "流水号")
    private String transactionNo;

    /**
     * 分账单号
     */
    @ExcelProperty(value = "分账单号")
    private String outOrderNo;

    /**
     * 分账描述
     */
    @ExcelProperty(value = "分账描述")
    private String description;

    /**
     * 订单金额
     */
    @ExcelProperty(value = "订单金额")
    private BigDecimal orderAmount;

    /**
     * 分账金额
     */
    @ExcelProperty(value = "分账金额")
    private BigDecimal splitAmount;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "pay_split_state")
    private String state;


    /**
     * 操作时间
     */
    @ExcelProperty(value = "操作时间")
    private Date createTime;


    @ExcelProperty(value = "微信分账交易流水号")
    private String spiltTransactionNo;
}
